Cloud Computing has developed to a mature state and offers distinct cost saving opportunities by consolidating and restructuring information technology services. Cloud computing offers services which include storage, computing and networking. An important aspect of such distributed virtual systems is security. Security in cloud computing applications is difficult to implement because cloud computing is a dynamic environment where the resources are allocated on demand. Security issues raised by cloud computing include data protection, network security, virtualization security, application integrity, and identity management.
Access control is the mechanism that allows, denies or restricts user access to a system. It is the process of deciding who can use specific system resources and applications. Access control ensures that only authorized users can access the data, and it also monitors and records all attempts made to access a system. Access control provides security to the resources or data by controlling access to the resources and the system itself. Access control also manages users, files and other resources by controlling user's privileges to access files or resources or data. With access control various steps like authentication, authorization and accounting are performed when a user actually accesses the resources.
In current widely deployed solutions access control to resources is based on AAA (Authentication, Authorization, Accounting) infrastructure. Authentication occurs when a user is identified before accessing a resource. Authorization is the process of granting or denying a user some activity on a resource. The Accounting portion of the AAA security system is the logging and metering of actions when a user accesses a resource.
Cloud infrastructure has additional attack surfaces compared to non-cloud platforms. (For example, since multiple VMs can be running on a common hypervisor, there is a possibility for an attacker to access VMs other than those to which he/she has legitimate access. This may be achieved either by accessing other VMs directly or by compromising the common hypervisor. Also, when a user is authenticated on a VM on a compute node, the user may be provided with access to other cloud resources in the compute node. For example, in the case of a compute node having an admin VM, the admin VM must be connected to all critical resources of the project the admin user needs to manage. A hacker that accesses the admin VM will consequently have access to all such critical resources.
Consequently there is a need to provide a means of giving differential access to cloud resources based on user-credentials and to foreclose attack surfaces in a cloud infrastructure. Specifically there is a need to minimize attackers from having potential access to VMs other than those to which the user has legitimate access. Moreover there is a need to provide “just-in-time” connectivity in a cloud infrastructure to mitigate/minimize damage that can be caused by an attacker gaining access to admin resources in the cloud.